package org.jeecg.modules.product.job.ticket.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 电子作业票
 * @Author: jeecg-boot
 * @Date:   2024-08-08
 * @Version: V1.0
 */
@Data
@TableName("tb_job_ticket")
@Schema(description="电子作业票")
public class TbJobTicket implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "id")
    private String id;
	/**创建人*/
    @Schema(description = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @Schema(description = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @Schema(description = "所属部门")
    private String sysOrgCode;
	/**作业内容*/
    @Excel(name = "作业内容", width = 15)
    @Schema(description = "作业内容")
    private String content;
	/**预约编号*/
    @Excel(name = "作业编号", width = 15)
    @Schema(description = "作业编号")
    private String number;
	/**作业原因*/
    @Excel(name = "作业原因", width = 15, dicCode = "jobReason")
    @Dict(dicCode = "jobReason")
    @Schema(description = "作业原因")
    private String jobReason;
	/**归属装置*/
    @Excel(name = "归属装置", width = 15, dictTable = "tb_base_risk_device", dicText = "name", dicCode = "id")
    @Dict(dictTable = "tb_base_risk_device", dicText = "name", dicCode = "id")
    @Schema(description = "归属装置")
    private String device;
	/**归属单元*/
    @Excel(name = "归属单元", width = 15, dictTable = "tb_base_risk_unit", dicText = "risk_unit_name", dicCode = "id")
    @Dict(dictTable = "tb_base_risk_unit", dicText = "risk_unit_name", dicCode = "id")
    @Schema(description = "归属单元")
    private String cell;
	/**作业类型*/
    @Excel(name = "作业类型", width = 15, dicCode = "jobType")
    @Dict(dicCode = "jobType")
    @Schema(description = "作业类型")
    private String jobType;
	/**作业开始时间*/
    @Excel(name = "作业开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "作业开始时间")
    private java.util.Date planStartDate;
	/**作业结束时间*/
    @Excel(name = "作业结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "作业结束时间")
    private java.util.Date planEndDate;

    /**作业开始时间*/
    @Excel(name = "作业实际开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "作业实际开始时间")
    private java.util.Date actualStartDate;
    /**作业结束时间*/
    @Excel(name = "作业实际结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "作业实际结束时间")
    private java.util.Date actualEndDate;
    /**作业活动时间*/
    @Excel(name = "作业活动时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "作业活动时间")
    private java.util.Date eventDate;
	/**作业所属部门*/
    @Excel(name = "作业所属部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    @Schema(description = "作业所属部门")
    private String applyCompany;
	/**作业申请人*/
    @Excel(name = "作业申请人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Schema(description = "作业申请人")
    private String applicant;
	/**申请时间*/
    @Excel(name = "申请时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "申请时间")
    private java.util.Date applyTime;
	/**作业部位*/
    @Excel(name = "作业部位", width = 15)
    @Schema(description = "作业部位")
    private String position;
	/**施工单位*/
    @Excel(name = "施工单位", width = 15)
    @Schema(description = "施工单位")
    private String operationCompany;
	/**作业所属单位负责人*/
    @Excel(name = "作业所属单位负责人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Schema(description = "作业所属单位负责人")
    private String operationChargePerson;
	/**施工单位负责人*/
    @Excel(name = "施工单位负责人", width = 15)
    @Schema(description = "施工单位负责人")
    private String constructionMan;
	/**作业地点*/
    @Excel(name = "作业地点", width = 15)
    @Schema(description = "作业地点")
    private String locations;
	/**公司监护人*/
    @Excel(name = "公司监护人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Schema(description = "公司监护人")
    private String companyGuardian;
	/**施工单位监护人*/
    @Excel(name = "施工单位监护人", width = 15)
    @Schema(description = "施工单位监护人")
    private String constructionGuardian;
	/**关联的其他特殊作业及安全作业票编号*/
    @Excel(name = "关联的其他特殊作业及安全作业票编号", width = 15)
    @Schema(description = "关联的其他特殊作业及安全作业票编号")
    private String relevanceNumber;
	/**危害辨识*/
    @Excel(name = "危害辨识", width = 15, dicCode = "jobRiskIdentification")
    @Dict(dicCode = "jobRiskIdentification")
    @Schema(description = "危害辨识")
    private String riskIdentificationResult;
	/**定位*/
    @Excel(name = "定位", width = 15)
    @Schema(description = "定位")
    private String orientation;
	/**监控选择*/
    @Excel(name = "监控选择", width = 15, dictTable = "tb_video", dicText = "name", dicCode = "id")
    @Dict(dictTable = "tb_video", dicText = "name", dicCode = "id")
    @Schema(description = "监控选择")
    private String videoId;
	/**作业状态*/
    @Excel(name = "作业状态", width = 15, dicCode = "jobStatus")
    @Dict(dicCode = "jobStatus")
    @Schema(description = "作业状态")
    private String status;
	/**状态*/
    @Excel(name = "状态", width = 15, dicCode = "normalOrStop")
    @Dict(dicCode = "normalOrStop")
    @Schema(description = "状态")
    private String deleted;
    /**作业活动id*/
    @Schema(description = "作业活动id")
    private String eventsId;
	/**租户id*/
    @Excel(name = "租户id", width = 15)
    @Schema(description = "租户id")
    private String tenantId;

    /**中立字段，作业人*/
    /**作业人及编号*/
    @Excel(name = "作业人及编号", width = 15)
    @Schema(description = "作业人及编号")
    private String operatorAndCode;
    /**作业负责人========这个字段可能没啥用了================*/
    @Excel(name = "作业负责人", width = 15)
    @Schema(description = "作业负责人")
    private String operationManager;

    /*动火*/
    /**动火级别*/
    @Excel(name = "动火级别", width = 15, dicCode = "jobHotLevel")
    @Dict(dicCode = "jobHotLevel")
    @Schema(description = "动火级别")
    private String hotLevel;
    /**动火方式*/
    @Excel(name = "动火方式", width = 15)
    @Schema(description = "动火方式")
    private String hotMode;


    /*临时用电*/
    /**电源接入点及许可用电功率*/
    @Excel(name = "电源接入点及许可用电功率", width = 15)
    @Schema(description = "电源接入点及许可用电功率")
    private String powerPointAndConsumption;
    /**工作电压*/
    @Excel(name = "工作电压", width = 15)
    @Schema(description = "工作电压")
    private String operatingVoltage;
    /**用电设备名称及额定功率*/
    @Excel(name = "用电设备名称及额定功率", width = 15)
    @Schema(description = "用电设备名称及额定功率")
    private String equipmentAndRatedPower;
    /**用电人*/
    @Excel(name = "用电人", width = 15)
    @Schema(description = "用电人")
    private String electricityCustomer;
    /**是否单独气体分析*/
    @Excel(name = "是否单独气体分析", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @Schema(description = "是否单独气体分析")
    private String isNotGasAnalysis;

    /*盲板*/
    /**盲板作业类型*/
    @Excel(name = "盲板作业类型", width = 15, dicCode = "blindPlateJobType")
    @Dict(dicCode = "blindPlateJobType")
    @Schema(description = "盲板作业类型")
    private String blindPlateJobType;
    /**设备管道名称*/
    @Excel(name = "设备管道名称", width = 15)
    @Schema(description = "设备管道名称")
    private String equipmentPipeName;
    /**设备原有介质*/
    @Excel(name = "设备原有介质", width = 15)
    @Schema(description = "设备原有介质")
    private String equipmentNativeMedium;
    /**设备温度*/
    @Excel(name = "设备温度", width = 15)
    @Schema(description = "设备温度")
    private String equipmentTemperature;
    /**设备压力*/
    @Excel(name = "设备压力", width = 15)
    @Schema(description = "设备压力")
    private String equipmentPressure;
    /**盲板材质*/
    @Excel(name = "盲板材质", width = 15)
    @Schema(description = "盲板材质")
    private String blindSheet;
    /**盲板规格*/
    @Excel(name = "盲板规格", width = 15)
    @Schema(description = "盲板规格")
    private String blindPlateSpecification;
    /**盲板编号*/
    @Excel(name = "盲板编号", width = 15)
    @Schema(description = "盲板编号")
    private String blindPlateNumber;
    /**盲板位置图*/
    @Excel(name = "盲板位置图", width = 15)
    @Schema(description = "盲板位置图")
    private String blindPlateImg;

    /*吊装*/
    /**吊物内容*/
    @Excel(name = "吊物内容", width = 15)
    @Schema(description = "吊物内容")
    private String liftingContent;
    /**吊装地点*/
    @Excel(name = "吊装地点", width = 15)
    @Schema(description = "吊装地点")
    private String liftingLocations;
    /**吊装工具名称*/
    @Excel(name = "吊装工具名称", width = 15)
    @Schema(description = "吊装工具名称")
    private String liftingToolName;
    /**吊装作业人---------作废，使用作业人统一的---------*/
    @Excel(name = "吊装作业人", width = 15)
    @Schema(description = "吊装作业人")
    private String liftingOperator;
    /**司索人*/
    @Excel(name = "司索人", width = 15)
    @Schema(description = "司索人")
    private String liftingSisot;
    /**指挥人员*/
    @Excel(name = "指挥人员", width = 15)
    @Schema(description = "指挥人员")
    private String liftingCommandingOfficer;
    /**吊物质量（t）*/
    @Excel(name = "吊物质量（t）", width = 15)
    @Schema(description = "吊物质量（t）")
    private Double liftingQuality;
    /**吊装作业级别*/
    @Excel(name = "吊装作业级别", width = 15, dicCode = "liftingJobLevel")
    @Dict(dicCode = "liftingJobLevel")
    @Schema(description = "吊装作业级别")
    private String liftingJobLevel;

    /*断路*/
    /**断路涉及相关单位（部门）*/
    @Excel(name = "断路涉及相关单位（部门）", width = 15)
    @Schema(description = "断路涉及相关单位（部门）")
    private String openCircuitRelatedUnits;
    /**断路原因*/
    @Excel(name = "断路原因", width = 15)
    @Schema(description = "断路原因")
    private String openCircuitCause;
    /**断路地段示意图及相关说明*/
    @Excel(name = "断路地段示意图及相关说明", width = 15)
    @Schema(description = "断路地段示意图及相关说明")
    private String openCircuitImg;

    /*受限空间*/
    /**受限空间名称*/
    @Excel(name = "受限空间名称", width = 15)
    @Schema(description = "受限空间名称")
    private String restrictedSpaceName;
    /**受限空间内原有介质名称*/
    @Excel(name = "受限空间内原有介质名称", width = 15)
    @Schema(description = "受限空间内原有介质名称")
    private String restrictedSpaceMedium;

    /*高处作业*/
    /**高处作业级别*/
    @Excel(name = "高处作业级别", width = 15, dicCode = "heightJobLevel")
    @Dict(dicCode = "heightJobLevel")
    @Schema(description = "高处作业级别")
    private String highLevel;
    /**作业高度*/
    @Excel(name = "作业高度", width = 15)
    @Schema(description = "作业高度")
    private String operatingHeight;

    /**动土*/
    @Excel(name = "动土作业范围、内容、方式简图", width = 15)
    @Schema(description = "动土作业范围、内容、方式简图")
    private String breakGroundImg;
}

